App   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 41
dl 0
loc 48
rs 10
c 0
b 0
f 0

3 Functions

Rating   Name   Duplication   Size   Complexity  
A render 0 21 1
A checkLogin 0 12 2
A componentDidMount 0 2 1
1
import React, { Component } from 'react';
2
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
3
4
import Header from '../page/Header.js';
5
import Me from '../page/Me.js';
6
import Report from '../page/Report.js';
7
import Register from '../form/Register.js';
8
import Login from '../form/Login.js';
9
import Profile from '../page/Profile.js';
10
import Footer from '../page/Footer.js';
11
import Create from '../page/admin/Create.js';
12
import Edit from '../page/admin/Edit.js';
13
import Chat from '../socket/chat.js';
14
15
import './App.css';
16
17
class App extends Component {
18
    constructor(props) {
19
        super(props);
20
        this.state = {
21
            activeUser: ""
22
        };
23
    }
24
    componentDidMount() {
25
        this.checkLogin();
26
    }
27
    checkLogin() {
28
        if (localStorage.getItem("activeUser") === null) {
29
            console.log("Not logged in");
30
        } else {
31
            console.log("Logged in");
32
            this.setState({
33
                activeUser: [
34
                    <div key="router">
35
                        <Route exact path="/reports/create" component={Create} />
36
                        <Route exact path="/reports/edit" component={Edit} />
37
                        <Route exact path="/reports/edit/:id" component={Edit} />
38
                    </div>
39
                ]
40
            });
41
        }
42
    }
43
    render() {
44
        return (
45
            <Router>
46
                <div className="App">
47
                    <Header />
48
                    <div className="wrap-main">
49
                        <main>
50
                            <Switch>
51
                                <Route exact path="/" component={Me} />
52
                                <Route path="/reports/week/:kmom" component={Report} />
53
                                <Route exact path="/login" component={Login} />
54
                                <Route exact path="/register" component={Register} />
55
                                <Route exact path="/profile" component={Profile} />
56
                                <Route exact path="/chat" component={Chat} />
57
                                { this.state.activeUser }
58
                            </Switch>
59
                        </main>
60
                    </div>
61
                    <Footer />
62
                </div>
63
            </Router>
64
        );
65
    }
66
}
67
68
export default App;
69